The field of this disclosure relates generally to systems and methods for data reading, and more particularly but not exclusively to reading of optical codes (e.g., barcodes) using imaging readers. Optical codes encode useful, optically readable information about the items to which they are attached or otherwise associated. Perhaps the best example of an optical code is the barcode. Barcodes are ubiquitously found on or associated with objects of various types, such as the packaging of retail, wholesale, and inventory goods; retail product presentation fixtures (e.g., shelves); goods undergoing manufacturing; personal or company assets; and documents. By encoding information, a barcode typically serves as an identifier of an object, whether the identification be to a class of objects (e.g., containers of milk) or a unique item (see e.g., U.S. Pat. No. 7,201,322). Linear (one-dimensional) barcodes consist of alternating bars (i.e., relatively dark areas) and spaces (i.e., relatively light areas). The pattern of alternating bars and spaces and the widths of those bars and spaces represent a string of binary ones and zeros, wherein the width of any particular bar or space is an integer multiple of a specified minimum width, which is called a “module” or “unit.” Thus, to decode the information, a barcode reader must be able to reliably discern the pattern of bars and spaces, such as by determining the locations of edges demarking adjacent bars and spaces from one another, across the entire length of the barcode.
Barcodes are just examples of the many types of optical codes in use today. Linear barcodes, such as the UPC code, are typically considered an example of a one dimensional or linear optical code, as the information is encoded in one direction—the direction perpendicular to the bars and spaces. Higher-dimensional optical codes, such as, two-dimensional matrix codes (e.g., MaxiCode) or stacked codes (e.g., PDF 417), which are also sometimes referred to as barcodes, are also used for various purposes.
Two of the more common types of devices that read optical codes are (1) flying-spot scanners and (2) imager-based readers. The flying-spot scanner type of reader is typically a laser-based barcode reader (also called a scanner), which generates a spot of laser light and sweeps or scans the spot out into a read area and across a barcode label. A laser-based scanner detects reflected and/or refracted laser light from the bars and spaces in a barcode as the laser spot moves across the barcode. An optical detector measures the intensity of the return light as a function of time or position and generates an electrical signal having an amplitude determined by the intensity of the detected light. As the barcode is scanned, positive-going transitions and negative-going transitions in the electrical signal occur, signifying transitions between bars and spaces in the barcode. The electrical signal can be analyzed to determine the arrangement of bars and spaces of the scanned barcode. The bar and space information can be provided to a decoding unit to determine whether the barcode is recognized and, if so, to decode the information contained in the barcode. Other examples of laser-based scanners are disclosed in U.S. Pat. No. 7,198,195.
Imager-based readers operate according to a different principle compared to laser-based scanners. An imager-based reader utilizes a camera or imager to generate electronic image data (typically in digital form) of an entire area. The image data is then processed to find and decode the optical code. For example, virtual scan line techniques are known techniques for digitally processing an image containing a barcode by looking across an image along a plurality of lines, typically spaced apart and at various angles, somewhat like a laser beam's scan pattern in a flying spot scanner.
One advantage of imager-based readers is the ability to produce a high-density image of a scan area and thus are able to read 2-D and high density optical codes. Laser scanners are better suited for reading one-dimensional barcodes and typically have longer depth of field than imager-based readers. Laser scanners are also well suited for multi-plane (e.g. bioptic) reading using complex mirror arrays to generate scan lines from different directions and through windows oriented in different orthogonal planes. The present inventor has recognized that it would be advantageous to have an imaging data reader that possesses the advantages of the different types of readers.